package code.rocky.chapter03;

import java.util.ArrayList;
import java.util.List;

public class Suggest39 {
    public static void main(String[] args) {
        List l1 = new ArrayList();
        // l2 代表的 是一个匿名类的 声明 和赋值, 它定义了一个继承于 ArrayList 的匿名类,
        // 只是没有任何的 覆写方法而已
        List l2 = new ArrayList(){}; // 类似于 List l2 = new L2();
        // 匿名内部类的代码, 类似于 List l3 = new L3();
        List l3 = new ArrayList(){{}};
        System.out.println(l1.getClass() == l2.getClass());
        System.out.println(l1.getClass() == l3.getClass());
        System.out.println(l2.getClass() == l3.getClass());
    }
}

class L2 extends  ArrayList {}
class L3 extends  ArrayList {
    {
        // 初始化块
    }
}
